Cellulair Automaton was written in REALBasic by Mark Hagers.
Please do not distribute this program without this textfile and the accompanying user guide.
Cellulair Automaton. ⌐ 1994-1998 Mark Hagers.
Comments, bug-reports en encouragement to:
Mark Hagers
mark@mediaeval.nl
www.mediaeval.nl
Contents...
1 What is cellular Automaton?
2 Background
3 Known bugs and shortcomings
4 Future developments
1 What is Cellulair Automaton?
Cellulair Automaton is a program to expiriment with the phenomenon of the same name.
Basically all you can do with it is generate cool pictures.
See the User Guide, a seperate text file for instructions, or just dig right in, it shouldn't be too hrd to figure out how to use the program.
Cellulair Automaton generates pictures starting with a line, generating the next line from that and so on, working downwards. It calculates the (color) value of each pixel using the values of the pixels straight above it and to the left and right of that pixel:
source pixels: xxx
target pixel x
The first line in the image is generated by setting a number of pixels to the maximum value, the rest are set to zero. Which pixels are set to maximum value is determined by to the settings made by the user.
Cellulair Automaton uses simple algorithms to calculate each next line.
Every possible value of a pixel is represented by one color of the palette, the number of colors and thus the number of possible values can also be set by the user.
Although the patterns evolving on the screen originate from a finite number of initial circumstances, they quickly reach a stage where their development seems completely unpredictable, without becoming completely chaotic.
2 Background
This program originated somewhere around 1986 written in in MS Basic on an Amiga 500. I remembered seeing a picture in some 70's book on 'Supercomputers' with a short explanation of how it was generated (probably on one of the fastest computers of the period). Sure enough I couldn't find the book anymore, but I decided to have a go at trying to reproduce the kind of picture I remembered. The resulting program worked with 32 colors only, and took about 20 minutes to generate an image of 320 x 256 pixels. Though it made interesting pictures, it took such a long time that I eventually lost interest. I didn't even keep the source of the program when I sold the Amiga, to my later regret.
Quite a few years later I read the book "Artificial life", by Stephen Levy. This book is interesting for many more reasons, but it also contained a description of Cellular Automatons, and it rekindled my interest in the concept. I just aquired a copy of Think C, so I figured I'd try and see if I could get a version working in C.
Eventually I managed to generate the same kind of output as with my Amiga program, but I never got to the point that I could produce a properly working stable program, I decided I wasn't enough of a programmer to work with C, and the project was shelved for the second time.
Then REALBasic came around. Finally I was able to produce something stable with a proper user interface. Even better: the REALBasic version seems to be even faster than the C version. It must be admitted that the C version I have is 68K code, so it runs emulated on a Power PC, while the RB version is PPC native code, OTOH the RB version uses an off screen bitmap, something I nevver got figured out for the C version.
The current program is the first version that I don't feel embarresed about sending into the world, though it's by no means perfect yet. I'll be posting newer versions to the various REALBasic forums (REALBasic cafe et al.) and on my web site (though there is no page for the program yet).
Known bugs and shortcomings
Color Dialog:
Copying and pasting ranges of colors doesn't work properly.
There is no undo available in the color palette.
There is no option to save color sets accross sessions.
The number of predefined palettes is rather limited
Future developments
Ñ Fixing the above problems
Ñ Providing a way to save color sets
Ñ Importing color palettes from various sources (palette resources, pict files etc.)
Ñ Option to open a series of saved PICTs and scroll through them as one (very long) picture.